using System;
using MonoDevelop.ResourceEditor;
namespace MonoDevelop.ResourceEditor.Gui
{
	/// <summary>Defines the Resource Changed Event Handler</summary>
	public delegate void ResourceChangedEventHandler(object sender, ResourceEventArgs e);
	
	/// <summary>Defines an interface to be used to view the resource value</summary>
	public interface IResourceView : IDisposable
	{
		/// <summary>Gets or sets whether or not the current view is write protected or not</summary>
		/// <value>True if the widget is write protected, otherwise flase</value>
		bool WriteProtected
		{
			get;
			set;
		}
		
		/// <summary>Gets or sets the resource item</summary>
		/// <value>A ResourceItem containing the name and value for the resource</value>
		ResourceItem ResourceItem
		{
			get;
			set;
		}
		
		/// <summary>Event is raised when the value of the resource has been changed</summary>
		event ResourceChangedEventHandler ResourceChanged;
	}
}
